home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Education
/
World of Education.iso
/
world_a
/
386_bugs.zip
/
POPAD.DOC
< prev
next >
Wrap
Text File
|
1993-06-18
|
1KB
|
27 lines
1. POPAD bug. Most 386 processors have this bug. Intel corrected it in
the later revisions of its 386. All AMD 386 processors have the bug,
as far as I know.
The POPAD bug is a bit of a misnomer, and is hardly ever a problem.
If the instruction POPA or POPAD is followed by certain MOV
instructions, the AX or EAX register (respectively) will contain
zero. Most programmers only use POPA/POPAD at the end of a
subroutine; therefore, it is usually followed by a RET instruction.
This will not invoke the bug. In addition, most programmers know
about this bug, and will not code routines that invoke it.
2. MUL bug. I have never seen this bug personally, but it's rumored
that some very old Intel 386 processors will return unpredictable
results when 32-bit operands are used with the MUL instruction. AMD
386 processors do not have this bug.
3. POPCS bug. This is not really a bug, but I included it here for
completeness. Some ill-behaved software uses the "POP CS"
instruction. Intel lists this instruction as invalid, but it works
on the 8088/8086. 286 and higher processors use this instruction
(0Fh) as a prefix for their extended instructions, and will produce
unexpected results if used as a "POP CS". I've only heard of one
program that uses this instruction. It is one of the older viruses,
and it did not spread very well due to the fact that it crashed 286+
machines.